/***************************************************************************
 创建者：华磊
 开始时间：         : 2017.02.13
 copyright            : (C) 深圳市华友高科有限公司
 修改说明：（每次有修改就添加一条，带有 修改人，修改时间，修改描述）

 ***************************************************************************
 *   码垛指令视窗
*                                                                         *
 ***************************************************************************/
#ifndef PALLETINSTRUCTIONVIEW_H
#define PALLETINSTRUCTIONVIEW_H

#include <QWidget>
#include "palletmotioninstructionview.h"

#include"../../CommunicateDelegate/hmicommunicate.h"
#include "palinstruction.h"

class ProgramView;

namespace Ui {
class PalletInstructionView;
}


class PalletInstructionView : public QWidget
{
    Q_OBJECT

public:
    explicit PalletInstructionView(int styleId,QWidget *parent = 0);
    ~PalletInstructionView();

    void updateView();

    void changeLanguage(int language);

    void initialDisplayStyle(int styleId);
    void getInput();

signals:
    void finishHeadInstruction();
    void saveInstruction(QString palletHeadInstruction);

private slots:

    void on_save_Btn_clicked();


    void on_clearNote_Btn_clicked();

private:
    Ui::PalletInstructionView *ui;

public:
    PalInstruction palIns;
    ProgramView *programView;
//    PalletParameterSettingView *palletParameterSettingView;
    PalletMotionInstructionView *palletMotionInstructionView;


    /**
     * @brief palletHeadInstruction     码垛头指令
     */
    QString palletHeadInstruction;
    /**
     * @brief palletTailInstruction     码垛尾指令
     */
    QString palletTailInstruction;
    /**
     * @brief palletMotionInstruction   码垛运动指令
     */
    QString palletMotionInstruction;

    /**
     * @brief instructionTypeFlag       0:J   1:L
     */
    int instructionTypeFlag;
    /**
     * @brief palletPathTypeFlag    0:approach   1:flee   2:stack
     */
    int palletPathTypeFlag;

    /**
     * @brief approachPointIndex    接近点index
     */
    int approachPointIndex;
    /**
     * @brief fleePointIndex        逃离点index
     */
    int fleePointIndex;

    /**
     * @brief instructionRate       运行速度
     */
    float instructionRate;
    /**
     * @brief rateUnit              速度单位
     */
    QString rateUnit;
    /**
     * @brief rateUnitTypeFlag      速度单位类型
     *
     * 0:%  1:mm/sec  2:cm/min  3:deg/sec  4:sec  5:msec  6:inch/min
     */
    int rateUnitTypeFlag;

    /**
     * @brief fixedPositionTypeFlag　０:FINE  1:CNT
     */
    int fixedPositionTypeFlag;
    /**
     * @brief cntValue              CNT值
     */
    int cntValue;

    /**
     * @brief currentPalletIndex    当前码垛编号
     */
//    int currentPalletIndex;

//    QString currentPalletType;

    /**
     * @brief currentIndex          当前码垛下标
     */
    int currentIndex;

    /**
     * @brief intervalOnPicture     行＼列＼层间距生效图片显示
     */
    QString intervalOnPicture;
    /**
     * @brief intervalOffPictur     行＼列＼层间距不生效图片显示
     */
    QString intervalOffPicture;

    /**
     * @brief selectSkipFlag        是否选择添加跳转　０：未选择　１：选择
     */
    int selectSkipFlag;
    /**
     * @brief diIndex               DI编号
     */
    QString diIndex;

    /**
     * @brief diSwitckFlag          DI开关　0:ON  1:OFF
     */
    int diSwitchFlag;
    /**
     * @brief labelIndex            跳转标签号
     */
    QString skipLabelIndex;

    /**
     * @brief palletPointType       码垛点类型　0:approach  1:flee  2:stack  3stackStyle
     */
    int palletPointType;

    /**
     * @brief note                  指令注释
     */
//    QString note;

    /**
     * @brief palletPointIndex      点查看码垛点类型编号显示
     */
    QString palletPointIndex;
    /**
     * @brief showPointPro          点查看点信息显示
     */
    PointPro showPointPro;
    /**
     * @brief showPointNum          点查看点编号显示
     */
    int showPointNum;

    /**
     * @brief changedApproachCount  修改的接近的数
     */
    int changedApproachCount;
    /**
     * @brief changedFleeCount      修改的逃离点数
     */
    int changedFleeCount;

    /**
     * @brief rowColumnLayer        行列层:移动到点的时候需要用
     */
    std::vector<int> rowColumnLayer;//行列层

private:
    QTranslator translator;
};

#endif // PALLETINSTRUCTIONVIEW_H
